package jsp;

import util.CookieUtil;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * Author:shixiaojun@itany.com
 * Date:2022/4/12 17:09
 * Version:1.0-SNAPSHOT
 * Description: 用户登录功能
 * 当用户进行登录时,判断当前用户输入的用户名与密码是否正确
 * 如果正确
 *  则将正确的用户名与密码保存到cookie中
 *  且页面跳转到主页main.jsp,欢迎页面显示的是当前用户的用户名
 * 如果不正确
 *  则页面仍然停留在登录页面
 *  并在该页面中添加错误提示:用户名或密码不正确
 * 使用假数据进行操作,假设username为admin,password为123456
 */
@WebServlet("/login")
public class LoginServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取表单中提交的数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String maxAge = request.getParameter("maxAge");

        // 判断用户输入的用户名与密码是否正确
        if("admin".equals(username) && "123456".equals(password)){
            // 如果正确,将输入的用户名与密码保存到Cookie中
            CookieUtil.addCookie("username",username,Integer.parseInt(maxAge),response);
            CookieUtil.addCookie("password",password,Integer.parseInt(maxAge),response);
            // 进入到主页
            response.sendRedirect(request.getContextPath()+"/jsp/main.jsp");
            return;
        }
        // 如果不正确,返回登录页面,给出错误消息
        request.setAttribute("loginMsg","用户名或密码错误");
        request.getRequestDispatcher("/jsp/login.jsp").forward(request,response);

    }

}
